///*
// * Copyright 2006-2022 ahtelit.com, All Rights Reserved.
// */
//
//package com.telit.firecommand.service;
//
//import com.telit.common.entity.PageData;
//import com.telit.firecommand.dto.*;
//import com.telit.firecommand.model.attendInfo.SaveAttendInfoRequest;
//import com.telit.firecommand.model.attendInfo.SaveNoteRequest;
//import com.telit.firecommand.model.attendInfo.SignInRequest;
//
//import java.util.Date;
//import java.util.List;
//
//
///**
// * AttendInfoService
// *
// * @author yuezhuang
// * @since 2023-02-17
// */
//public interface AttendInfoService {
//
//    /**
//     * 保存值班信息
//     *
//     * @param saveAttendInfoRequest SaveAttendInfoRequest
//     */
//    void save(SaveAttendInfoRequest saveAttendInfoRequest);
//
//    /**
//     * 查询排班信息
//     *
//     * @param page         当前页，分页当前页
//     * @param limit        分页条数
//     * @param noPage       是否不分页，true-不分页
//     * @param districtCode 行政区划编码
//     * @param day          排班日期
//     * @param timeType     时间类型
//     *
//     * @return AttendInfoDTO
//     */
//    PageData<List<AttendInfoDTO>> qryAttendInfoList(Integer page, Integer limit, boolean noPage, String districtCode,
//                                                    Date day, Integer timeType);
//
//    /**
//     * 根据父级行政区划编码 或者 当前行政区划编码查询排班信息
//     *
//     * @param page         当前页，分页当前页
//     * @param limit        分页条数
//     * @param noPage       是否不分页，true-不分页
//     * @param districtCode 行政区划编码
//     * @param rank         行政区划层级, 1-省 2-市 3-区县 4-乡镇 5-村（不传默认为当前一级）
//     * @param day          排班日期
//     *
//     * @return AttendDTO
//     */
//    PageData<List<AttendDTO>> qryAttendList(Integer page, Integer limit, boolean noPage, String districtCode,
//                                            Integer rank, Date day);
//
//    /**
//     * 签到/签退
//     *
//     * @param signInRequest signInRequest
//     */
//    void signIn(SignInRequest signInRequest);
//
//    /**
//     * 查询下次排班日期
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param day          当前日期
//     *
//     * @return AttendInfoDTO
//     */
//    AttendInfoDTO qryNextAttend(Long userId, String districtCode, Date day);
//
//    /**
//     * 保存晨报、值班信息、交班信息、应急事务
//     *
//     * @param saveNoteRequest saveNoteRequest
//     */
//    void saveNote(SaveNoteRequest saveNoteRequest);
//
//    /**
//     * 查询班次签到信息
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param attendInfoId 班次id
//     *
//     * @return AttendRecordDTO
//     */
//    List<AttendRecordDTO> qrySignIn(Long userId, String districtCode, Long attendInfoId);
//
//    /**
//     * 分页查询应急事务
//     *
//     * @param page         当前页，分页当前页
//     * @param limit        分页条数
//     * @param noPage       是否不分页，true-不分页
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param attendInfoId 班次id
//     *
//     * @return EmergencyAffairsDTO
//     */
//    PageData<List<EmergencyAffairsDTO>> qryEmergency(Integer page, Integer limit, boolean noPage, Long userId,
//                                                     String districtCode, Long attendInfoId);
//
//    /**
//     * 查询交班信息
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param attendInfoId 班次id
//     *
//     * @return TurnDTO
//     */
//    List<TurnDTO> qryTurn(Long userId, String districtCode, Long attendInfoId);
//
//    /**
//     * 查询值班记录
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param attendInfoId 班次id
//     *
//     * @return DutyDTO
//     */
//    List<DutyDTO> qryDuty(Long userId, String districtCode, Long attendInfoId);
//
//    /**
//     * 查询日报
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param attendInfoId 班次id
//     *
//     * @return DailyDTO
//     */
//    List<DailyDTO> qryDaily(Long userId, String districtCode, Long attendInfoId);
//
//    /**
//     * 查询交班人列表
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param attendInfoId 班次id
//     *
//     * @return AttendInfoDTO
//     */
//    List<AttendInfoDTO> qryNextUser(Long userId, String districtCode, Long attendInfoId);
//
//    /**
//     * 查询当前班次信息
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param day          查询日期，不传默认当天
//     *
//     * @return AttendInfoDTO
//     */
//    AttendInfoDTO qryCurrentAttend(Long userId, String districtCode, Date day);
//
//    /**
//     * 查询当前班次详情
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param day          查询日期，不传默认当天
//     *
//     * @return CurrentAttendInfoDTO
//     */
//    CurrentAttendInfoDTO qryCurrentInfo(Long userId, String districtCode, Date day);
//
//    /**
//     * 查询到岗统计
//     *
//     * @param userId       用户id
//     * @param districtCode 行政区划编码
//     * @param day          查询日期，不传默认当天
//     *
//     * @return AttendStatisticsDTO
//     */
//    AttendStatisticsDTO qryAttendStatistics(Long userId, String districtCode, Date day);
//
//    /**
//     * 删除 晨报、值班信息、交班信息、应急事务
//     *
//     * @param id id
//     */
//    void delNote(Long id);
//
//}
